package com.vca.common.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author Li
 * @description 票易通实体类
 * @date 2023-02-07 14:31
 */

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "WxRefundVo", description = "票易通实体类")
public class XforceVo implements Serializable {

    private static final long serialVersionUID = 8361043022461472909L;

    @ApiModelProperty(value = "订单唯一号")
    private String orderInfoNo;

    @ApiModelProperty(value = "门店编号 serllerInfoFill为0时必填")
    private String storeCode;

    @ApiModelProperty(value = "品牌编码 lecole")
    private String brand;

    @ApiModelProperty(value = "订单日期 yyyyMMdd (通常订单生成，二维码也生成，如果这样，该字段必填，因为集成平台需要判断二维码7天过期的情况)")
    private String posDate;

    @ApiModelProperty(value = "原发票含税金额 实际开票金额 = amountWithTax - outerDiscountWithTax")
    private BigDecimal amountWithTax;

    @ApiModelProperty(value = "需分摊折扣金额 正数，重新分摊到具体明细项")
    private BigDecimal outerDiscountWithTax;

    @ApiModelProperty(value = "实际支付金额")
    private BigDecimal payAmount;

    @ApiModelProperty(value = "订单类型 SALE,CASS, RTRN")
    private String orderType;

    @ApiModelProperty(value = "发票类型 c：普票 ce：普电票 s：专票")
    private String invoiceType;

    @ApiModelProperty(value = "邮箱 开局电票且需要发送邮件时使用")
    private String email;

    @ApiModelProperty(value = "业务单据类型 AR-销项结算单，直连必填参数")
    private String businessBillType;

    @ApiModelProperty(value = "操作类型 0-作废，1-上传，9-删除，直连必填参数")
    private String status;

    @ApiModelProperty(value = "备注 发票备注栏")
    private String remark;

    @ApiModelProperty(value = "销方信息设别方式 0-按销方编号识别，1-按销方税号、名称识别，直连必填参数")
    private String sellerInfoFill;

    @ApiModelProperty(value = "购方信息设别方式 0-按采购方编号识别，1-按采购方税号、名称识别，直连必填参数")
    private String purchaserInfoFill;

    @ApiModelProperty(value = "购方税号 专票必填")
    private String purchaserTaxNo;

    @ApiModelProperty(value = "购方名称 专票必填，若普票且不填，那么系统默认输入”个人”")
    private String purchaserName;

    @ApiModelProperty(value = "购方地址 专票必填")
    private String purchaserAddr;

    @ApiModelProperty(value = "购方电话 专票必填")
    private String purchaserTel;

    @ApiModelProperty(value = "购方银行信息 专票必填")
    private String purchaserBankInfo;

    @ApiModelProperty(value = "购方银行账号 专票必填")
    private String purchaserBankAccount;

    @ApiModelProperty(value = "收款人姓名 电票可以不填，但正常都填")
    private String cashierName;

    @ApiModelProperty(value = "复核人姓名 电票可以不填，但正常都填")
    private String checkerName;

    @ApiModelProperty(value = "开票人姓名 电票可以不填，但正常都填")
    private String invoicerName;

    @ApiModelProperty(value = "票易通商品详情列表")
    private List<DetailInfoVo> detailInfo;


}
